package com.fucking.great.context.plun;

import java.util.Map;
import java.util.Set;

/**
 * 这里不提供销毁方法。
 *      应该plug生命周期无法确定。(开发阶段实时new,测试上线阶段带缓存。)
 * plug中再commit或者quiet中控制。
 */
public interface Plug {
    // 每次交易需要执行的内容
    Set<String> importStr();

    /**
     * 放入脚本中可以使用的插件实例.
     * @return
     */
    Map<String,Object> beginUser();
    void commit();
    void quietRollback();
}
